home *** CD-ROM | disk | FTP | other *** search
- IFND LIBRARIES_DATAMASTER_I
- LIBRARIES_DATAMASTER_I SET 1
-
- **
- ** $Filename: libraries/datamaster.i $
- ** $Release: 2.0 $
- ** $Revision: 2.0 $
- **
- ** datamaster.library definitions
- **
- ** (C) Copyright 1995-1997 Alexis Nasr, Dirk Stöcker
- ** All Rights Reserved
- **
-
- IFND EXEC_LISTS_I
- INCLUDE "exec/lists.i"
- ENDC
-
- IFND EXEC_LIBRARIES_I
- INCLUDE "exec/libraries.i"
- ENDC
-
- IFND UTILITY_TAGITEM_I
- INCLUDE "utility/tagitem.i"
- ENDC
-
- DATAMASTERNAME: MACRO
- DC.B "datamaster.library",0
- ENDM
-
- *************************************************************************
- * *
- * Headers of recognizers *
- * *
- *************************************************************************
-
- RECOHEADER: MACRO
- MOVEQ #-1,D0
- RTS
- DC.B "DATARECO"
- DC.L \1
- ENDM
-
- RECOHEADER2: MACRO ;for internals
- EVEN
- DC.B "DATARECO"
- DC.L \1
- ENDM
-
- *************************************************************************
- * *
- * Library base structure *
- * *
- *************************************************************************
-
- STRUCTURE DatamasterBase,LIB_SIZE
- LONG dmb_Seglist
- LONG dmb_RecoAdr ;(internal) adr of array of recognizer segments.
- WORD dmb_RecoNb ;number of recognizers
- WORD dmb_Flags ;see below
- LONG dmb_LockNest ;count of LockCbases.Can only modify prefs if it is ZERO...means no user NOW.
-
- LONG dmb_DosBase
- LONG dmb_UtilBase
- LONG dmb_ReqBase ;may be ZERO...
- LONG dmb_ResBase2
- LONG dmb_ResBase3
- LABEL dmb_SIZEOF
-
- *************************************************************************
- * *
- * Flags for dmb_Flags *
- * *
- *************************************************************************
-
- BITDEF DMFLAG,PrefsNow,0 ;prefs are changing NOW!! please wait!!!
-
- *************************************************************************
- * *
- * Tags for external Recognizer *
- * *
- * Tags marked with '*' ***MUST*** be present! *
- * *
- *************************************************************************
-
- DMR_TagBase: EQU (TAG_USER+"DM") ;DataMaster Recognizer
-
- ENUM DMR_TagBase ; TagBase
-
- EITEM DMR_Check ;pointer to checkroutine
- EITEM DMR_Flags ;* see defs
- EITEM DMR_Name ;* THAT one is used,*NOT* filename,so don't change it in new versions of recognizer :)
- EITEM DMR_Descr ;$VER-like description (60 chars string max)
- EITEM DMR_Version ;recoversion: Ver<<16+Rev (high W=ver/low W=rev)
- EITEM DMR_DMVersion ;needed version of library
- EITEM DMR_Pattern
- EITEM DMR_Pri ;See PRI_xxx predefined values
- EITEM DMR_RecoNumber ;Obsolete
- EITEM DMR_InitRoutine ;optional init routine (libs needed etc)
- EITEM DMR_ExitRoutine ;optional exit routine (libs needed etc)
-
- * additions in version 2.0
-
- EITEM DMR_HookName
- EITEM DMR_Class ;set classbit in the ti_data
-
- EITEM DMR_SubTypesTable
- EITEM DMR_CheckRoutineHook
-
-
- *************************************************************************
- * *
- * Flag bits *
- * *
- * These are used for DMR_Flags tag and for Testfile Mode *
- * *
- *************************************************************************
-
- BITDEF RECO,Internal,0 ;won't be Unloadseg'd
- BITDEF RECO,CheckPatt,1 ;means the PatternTag valid
- BITDEF RECO,CheckData,2 ;means the CheckTag valid
- BITDEF RECO,XPKLoad,3 ;used for TestFile
- BITDEF RECO,Disabled,4 ;NOT USED YET
- BITDEF RECO,GetName,5 ;obsolete name
- BITDEF RECO,SubType,5 ;means DMR_Check() returns d0=string (& NOT d0=TRUE/FALSE)
- BITDEF RECO,NoCopy,6 ;PRIVATE
- BITDEF RECO,DupString,7 ;used with GetName flag: means the
- ;string is ALLOCATED by the recognizer. It'll be the library job
- ;to Freemem() this string
- BITDEF RECO,PattPriority,8 ;for dmTestFile() & dmTestData()
- ;=> pattern check will be done before data check.
-
- BITDEF RECO,Private1,31 ;(hands off!!)
-
- *************************************************************************
- * *
- * priority definitions *
- * *
- * *
- * Note: Priority "0" must NOT be used. *
- *************************************************************************
-
- PRI_FREQUENT EQU 10
- PRI_SINGLE EQU 5
- PRI_SINGLEGROUPED EQU 3
- PRI_GROUPED EQU 1
- PRI_GROUPEDSLOW EQU -5
- PRI_RARE EQU -10
- PRI_HOOKNAME EQU -100
-
-
- *************************************************************************
- * *
- * Class bits (v2.0) *
- * *
- *************************************************************************
-
- BITDEF DMCLASS,UNKNOWN,0
- BITDEF DMCLASS,GRAPHICS,1
- BITDEF DMCLASS,ANIMATION,2
- BITDEF DMCLASS,MUSIC,3
- BITDEF DMCLASS,SAMPLE,4
- BITDEF DMCLASS,PACKED,5
- BITDEF DMCLASS,SYSTEM,6
- BITDEF DMCLASS,MISC,7
- BITDEF DMCLASS,LINK,8
- BITDEF DMCLASS,ASCII,9
-
- *************************************************************************
- * *
- * RecoList structures *
- * *
- * WARNING! *
- * The RecoList structure has *changed*. It must ONLY be used now with *
- * dmQueryRecoListNew() and dmQueryRecoNamesNew(). *
- * DO NOT USE the old corresponding functions! *
- * The SIZE of RecoList structure is not defined ! *
- * *
- *************************************************************************
-
- STRUCTURE RecoList,0 ;access ONLY rl_NumRecos & rl_RecoList array
- ULONG rl_OwnSize
- UWORD rl_NumRecos ;number of recognizers
- APTR rl_RecoList ;array of .L=addresses of names/recos
-
- STRUCTURE RecoListOld,0 ;old recolist (for internal compatibility. NEVER USE IT ANYMORE)
- UWORD orl_NumRecos ;number of recognizers
- STRUCT orl_RecoList,128*4 ;array of .L=addresses of names/recos
- ULONG orl_Null
- LABEL orl_SIZEOF
-
- *************************************************************************
- * *
- * DM_Handle structure *
- * *
- * It is <<PRIVATE>> and WILL change in the future! *
- * You can only access the non-private fields. *
- * *
- *************************************************************************
-
- STRUCTURE DM_Handle,0
- APTR dmh_String
- ULONG dmh_Size ;PRIVATE
- ULONG dmh_OwnSize ;PRIVATE
- APTR dmh_SubType ;(v2.0) additional SubType string, if available.
- ULONG dmh_SubTypeSize ;PRIVATE
- LABEL dmh_SIZEOF
-
- ENDC ; LIBRARIES_DATAMASTER_I
-